This invention relates to the field of data processing. More particularly, this invention relates to data processing systems incorporating coprocessors.
It is known to provide data processing systems incorporating both main processors and a coprocessor. In some systems it is known to be able to provide one or more different coprocessors with a main processor. In this case, the different coprocessors can be distinguished by different coprocessor numbers.
A coprocessor instruction encountered in the instruction data stream of the main processor is issued on a bus coupled to the coprocessor. The one or more coprocessors (that each have an associated hardwired coprocessor number) attached to the bus examine the coprocessor number field of the instruction to determine whether or not they are the target coprocessor for that instruction. If they are the target coprocessor, then they issue an accept signal to the main processor. If the main processor does not receive an accept signal, then it can enter an exception state to deal with the undefined instruction.
Given that the coprocessor instructions are a subset of the main processor instructions, in many circumstances instruction bit space is limited for the coprocessor. These problems are made worse if the coprocessor requires a rich instruction set with a large number of wide operations.
Thus, there is a need for better ways to formulate instructions for coprocessors.